Skip to main content

Ejemplo: Usando el OPC UA PubSub SL Biblioteca

Producto:CODESYS OPC UA PubSub SL

El OPC UA PubSub SL Example.project El ejemplo muestra cómo usar el OPC UA PubSub SL biblioteca para intercambiar mensajes a través del protocolo Pub/Sub según lo definido por la Fundación OPC UA.

El paquete también contiene un segundo ejemplo: PubSubDataSet.project. Muestra cómo usar el OPC UA PubSub SL biblioteca para proporcionar diferentes conjuntos de datos y conectarlos a instancias de GVL.

Descripción

Además de la comunicación Cliente/Servidor, la comunicación a través del protocolo OPC UA Pub/Sub también proporciona una capacidad adicional para intercambiar datos entre los suscriptores de una red de conformidad con las reglas de la Fundación OPC UA.

La estructura de los datos (DataSet) puede definirse libremente y se acuerda de antemano entre el emisor y el receptor. Esto elimina la necesidad de transportar (meta) datos adicionales. Los datos se transfieren con la ayuda del OPC UA PubSub SL biblioteca a través de UDP/IP de acuerdo con las reglas definidas para UADP.

Un publicador publica sus datos a un número desconocido de suscriptores. Como resultado, el emisor y el receptor no se conocen. Es por eso que el número de receptores tampoco tiene ninguna repercusión para el remitente. Una respuesta al remitente sobre si sus mensajes han llegado o no a los receptores no se puede enviar a través del protocolo debido a la naturaleza del protocolo. Si es necesario, dicha respuesta debe gestionarse de forma específica para la aplicación.

Los datos se transfieren en formato binario según las normas de la Fundación OPC UA. El OPC UA PubSub SL La biblioteca maneja la conversión de tipos de datos IEC en los tipos de datos OPC UA correspondientes y viceversa.

La implementación sigue los siguientes perfiles:

  • Publisher: PubSub Publisher UADP Periodic Fixed Settings

  • Subscriber: PubSub Subscriber UADP Periodic Fixed Settings

La longitud del mensaje está limitada a 1500 bytes (MTU) (no se admiten mensajes de red fragmentados). Mientras las reglas para una red sensible al tiempo aún no estén disponibles, no se podrán cumplir las condiciones estrictas de tiempo real. Sin embargo, la implementación de la OPC UA PubSub SL biblioteca intenta mantener el jitter lo más bajo posible.

La biblioteca incluye los siguientes bloques de funciones:

  • DataSet:

    Define un DataSet mensaje

  • Configuration:

    Administra recursos compartidos, como Conexión o Grupo

  • RootDiagnostics:

    Notifica con datos de diagnóstico superiores

  • Connection:

    Administra la conexión con Publisher y Subscriber

  • ConnectionDiagnostics:

    Notifica con datos de diagnóstico sobre la conexión (Connection)

  • ReaderGroup:

    gestiona Reader bloques de funciones (creación de un NetworkMessage a partir de DataSet mensajes)

  • ReaderGroupDiagnostics:

    Notifica con datos de diagnóstico sobre el ReaderGroup

  • Reader:

    Gestiona el DataSet bloque de funciones (suscriptor)

  • ReaderDiagnostics:

    Notifica con datos de diagnóstico sobre un Reader bloque de funciones

  • WriterGroup:

    gestiona Writer bloques de funciones (creación de un NetworkMessage a partir de DataSet mensajes)

  • WriterGroupDiagnostics:

    Notifica con datos de diagnóstico sobre el WriterGroup

  • Writer:

    maneja un DataSet bloque de funciones (Editor)

  • WriterDiagnostics:

    Notifica con datos de diagnóstico sobre un Writer bloque de funciones

_example_img_opc_ua_blocks.png

Funcionalidad admitida

  • Publicación/Suscripción de mensajes según OPC 10000-14: OPC Unified Architecture Parte 14: PubSub Release 1.04

  • Tamaño máximo de un NetworkMessage: 1500 bytes

  • El tamaño del paquete actual y la carga útil se pueden configurar por medio de la configuración del respectivo grupo de lectores/grupos de escritores y DataSet bloques de funciones

  • Apoyo con una tarea de fondo para el respectivo Connection bloque de funciones

  • Se admiten los siguientes perfiles:

    • Publisher: PubSub Publisher UADP Periodic Fixed Settings

    • Subscriber: PubSub Subscriber UADP Periodic Fixed Settings

Información adicional

El Device_1 aplicación muestra cómo leer un NetworkMessage.

El Device_2 La aplicación muestra cómo enviar mensajes por medio de los bloques de funciones contenidos.

  1. Hardware

    1. necesitas dos CODESYS PLC que están conectados a través de una red que admite UDP Multicast.

    2. En el proyecto, adapte la configuración del dispositivo a los dispositivos actualizando Device_1 y Device_2 al hardware utilizado.

  2. Personalizaciones en el proyecto

    1. Establezca las direcciones IP en el GlobalIP GVL al hardware que ha configurado. Encontrará esta GVL en el POU área.

    2. Establezca la dirección de multidifusión en una dirección libre en su red.

      Nota: Si no está en una red privada, solicite que su administrador de red le asigne una dirección gratuita.

    3. Configure el puerto. El puerto predeterminado 4840 es el puerto recomendado para OPC UA PubSub.

  3. Inicie sesión en ambos controladores e inicie las aplicaciones.

  4. Inicie tanto el emisor como el receptor:

    Device_2: PLC_PRG.xEnable := TRUE

    Device_1: Communication_PRG.xEnable := TRUE

    En el lado del receptor, ahora debería ver cómo cambian los valores del seno. Puede cambiar manualmente los otros valores en el remitente y ver los cambios en el receptor.

procedimiento. Sugerencia para ampliar el ejemplo.

Agregar una variable a la DataSet que ya ha sido enviado.

  1. Extender SensorDataSet._aIndex por una entrada. Seleccione cualquier tipo de datos.

  2. En SensorDataSet.Init, adaptar la versión de DataSet actualizando la entrada de fecha.

  3. En el PLC_PRG programa del remitente, cree una variable del tipo de datos seleccionado. Asignar el valor txSensorDataSet.PrepareValues a la variable.

  4. En rxSensorDataSet.PrepareValues, repita este paso en el lado del receptor. Cree una nueva variable del mismo tipo de antemano aquí también.

  5. Realiza una nueva descarga.

    La nueva variable también debe transmitirse.

ejemplo 1. Ejemplo de una configuración típica
_example_img_opc_ua_pubsub_config.png


Requisitos y restricciones del sistema

Sistema de programación

CODESYS Development System (versión 3.5.17.0 o superior)

Sistema de tiempo de ejecución

CODESYS Control Win (versión 3.5.14.0)

Nota

Dependiendo de las capacidades del sistema de tiempo de ejecución respectivo, los mensajes se pueden enviar a través de Unicast, Multicast o Broadcast.

Plataformas/dispositivos compatibles

Sugerencia

Utilizar el Device Reader proyecto para conocer las funciones compatibles con su dispositivo. Device Reader está disponible de forma gratuita en el CODESYS Store International.

Restricciones

  • La longitud máxima de un mensaje de red es de 1.500 bytes.

    (Chunked NetworkMessages not supported)

  • El punto de tiempo de transmisión se determina a través de la configuración de la tarea.

    El udiPublishingInterval parámetro no tiene ningún efecto.

Componentes adicionales

CODESYS OPC UA PubSub SL

Aviso

_example_icon.png DESCARGAR Proyecto